package com.example.auth.dto;

import java.io.Serializable;
import java.util.List;


public class StudentDetailDTO extends StudentDTO implements Serializable {
    private List<CourseDTO> courses; // Student course list
    private List<ActivityDTO> activities; // Student activity list

    public StudentDetailDTO() {
        super();
    }

    // Main constructor
    public StudentDetailDTO(StudentDTO studentDTO, List<CourseDTO> courses, List<ActivityDTO> activities) {
        super(studentDTO.getId(), studentDTO.getName(), studentDTO.getStudentId(), 
              studentDTO.getClassName(), studentDTO.getEmail(), studentDTO.getPhone(), 
              studentDTO.getStatus(), studentDTO.getLastLogin(), studentDTO.getProgress(),
              studentDTO.getSupervisorId());
        this.courses = courses;
        this.activities = activities;
    }

    // Factory method to create StudentDetailDTO from StudentDTO
    public static StudentDetailDTO fromStudentDTO(StudentDTO studentDTO, List<CourseDTO> courses, List<ActivityDTO> activities) {
        return new StudentDetailDTO(studentDTO, courses, activities);
    }

    // Getters and setters
    public List<CourseDTO> getCourses() {
        return courses;
    }

    public void setCourses(List<CourseDTO> courses) {
        this.courses = courses;
    }

    public List<ActivityDTO> getActivities() {
        return activities;
    }

    public void setActivities(List<ActivityDTO> activities) {
        this.activities = activities;
    }
} 